<h:form id="formPrevisaoDeReceita" 
        xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:p="http://primefaces.org/ui"
        xmlns:pe="http://primefaces.org/ui/extensions"
        xmlns:f="http://java.sun.com/jsf/core">

    <script language="JavaScript" src = "scripts/script.js"/>

    <h:panelGrid columns="3" 
                 style="width: 100%" >
        <h:panelGroup>
            <h:outputLabel value="Ficha da Receita"/><br/>
            <p:inputText value="#{previsaoDeReceitaBean.previsaoDeReceita.fichaReceita}" 
                         style="width: 93%"/>
        </h:panelGroup>
        <h:panelGroup>
            <h:outputLabel value="Unidade Gestora" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.unidadeGestora}" 
                             style="width: 97%">
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.unidadesGestora}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Unidade Orçamentária" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.unidadeOrcamentaria}" 
                             style="width: 97%">
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.unidadesOrcamentaria}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>

            <h:outputLabel value="Classificação" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.classificacao}" 
                             style="width: 97%" >

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.classificacoes}" />
                <f:converter converterId="simpleEntityConverter" />

                <p:ajax event="change" 
                        update="descricaoDaReceita" 
                        listener="#{previsaoDeReceitaBean.previsaoDeReceitaService
                                    .obterDescricaoDaReceita(previsaoDeReceitaBean.previsaoDeReceita)}" />

            </p:selectOneMenu>

        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Tipo de Orçamento" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.tipoOrcamento}" 
                             style="width: 97%" >

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.tiposOrcamento}" />
                <f:converter converterId="simpleEntityConverter" />

                <p:ajax event="change" 
                        listener="#{previsaoDeReceitaBean.previsaoDeReceitaService.
                                    zerarPrevisao(previsaoDeReceitaBean.previsaoDeReceita)}" 
                        update="valorPrevisaoReceita valorFiscal valorSeguridade
                        valorInvestimento dataInclusao" />

            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>

            <h:outputLabel value="Descrição da Receita"/><br/>
            <p:inputText id="descricaoDaReceita"
                         value="#{previsaoDeReceitaBean.previsaoDeReceita.descricaoReceita}" 
                         style="width: 93%" />

        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Dedutora Educação" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.dedutoraEducacao}" 
                             style="width: 97%">

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.dedutorasEducacao}" />
                <f:converter converterId="simpleEntityConverter" />

                <p:ajax event="change" update="contaDedutora" />

            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Dedutora Saúde" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.dedutoraSaude}" 
                             style="width: 97%">

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.dedutorasSaude}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Conta Dedutora" /><br/>
            <p:selectOneMenu id="contaDedutora"
                             value="#{previsaoDeReceitaBean.previsaoDeReceita.contaDedutora}" 
                             required="#{previsaoDeReceitaBean.previsaoDeReceita
                                         .dedutoraEducacao.codigo.equals('1')}" 
                             requiredMessage="Campo conta dedutora requerido" 
                             style="width: 97%" >

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.contasDedutoras}" />
                <f:converter converterId="simpleEntityConverter" />

            </p:selectOneMenu>

        </h:panelGroup>

    </h:panelGrid>

    <h:panelGrid columns="4"
                 style="width: 100%">

        <h:panelGroup>

            <h:outputLabel value="Valor Fiscal"/><br/>
            <pe:inputNumber id="valorFiscal"
                            value="#{previsaoDeReceitaBean.previsaoDeReceita.valorFiscal}" 
                            required="true" 
                            requiredMessage="Campo valor fiscal" 
                            symbol="R$" 
                            decimalSeparator="," 
                            thousandSeparator="." 
                            style="width: 93%" 
                            disabled="#{previsaoDeReceitaBean.previsaoDeReceita
                                        .tipoOrcamento.descricao.equals('REVISADO')}">

                <p:ajax event="blur" update="valorPrevisaoReceita" />

            </pe:inputNumber>

        </h:panelGroup>
        <h:panelGroup>
            <h:outputLabel value="Valor Seguridade"/><br/>
            <pe:inputNumber id="valorSeguridade"
                            value="#{previsaoDeReceitaBean.previsaoDeReceita.valorSeguridade}"
                            required="true" 
                            requiredMessage="Campo valor seguridade" 
                            symbol="R$" 
                            decimalSeparator="," 
                            thousandSeparator="."
                            style="width: 93%" 
                            disabled="#{previsaoDeReceitaBean.previsaoDeReceita
                                        .tipoOrcamento.descricao.equals('REVISADO')}">

                <p:ajax event="blur" update="valorPrevisaoReceita" />

            </pe:inputNumber>
        </h:panelGroup>

        <h:panelGroup>

            <h:outputLabel value="Valor Investimento"/><br/>
            <pe:inputNumber id="valorInvestimento"
                            value="#{previsaoDeReceitaBean.previsaoDeReceita.valorInvestimento}" 
                            required="true" 
                            requiredMessage="Campo Obrigatório" 
                            symbol="R$" 
                            decimalSeparator="," 
                            thousandSeparator="."
                            style="width: 93%" 
                            disabled="#{previsaoDeReceitaBean.previsaoDeReceita
                                        .tipoOrcamento.descricao.equals('REVISADO')}" >

                <p:ajax event="blur" update="valorPrevisaoReceita" />

            </pe:inputNumber>

        </h:panelGroup>

        <h:panelGroup>

            <h:outputLabel value="Valor Previsão da Receita"/><br/>
            <p:inputText id="valorPrevisaoReceita"
                         value="#{previsaoDeReceitaBean.previsaoDeReceita.valorPrevisaoReceita}" 
                         required="true" 
                         requiredMessage="Campo previsão da receita" 
                         readonly="true"
                         style="width: 93%" 
                         disabled="#{previsaoDeReceitaBean.previsaoDeReceita
                                     .tipoOrcamento.descricao.equals('REVISADO')}" >

                <f:convertNumber type="currency" />

            </p:inputText>

        </h:panelGroup>

    </h:panelGrid>
    <h:panelGrid columns="2" >

        <h:panelGroup>
            <h:outputLabel value="Incorporação Patrimonial" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.incorporacaoPatrimonial}" 
                             style="width: 300px" >

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.incorporacoesPatrimonial}" />
                <f:converter converterId="simpleEntityConverter" />

            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="VPA" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.vpa}" 
                             style="width: 310px" 
                             required="true"
                             requiredMessage="O campo VPA é requerido"> 

                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.vpas}" />
                <f:converter converterId="simpleEntityConverter" />

            </p:selectOneMenu>
        </h:panelGroup>

    </h:panelGrid>
    <h:panelGrid columns="4"
                 style="width: 100%">
        <h:panelGroup>
            <h:outputLabel value="Cálculo Camara" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoCamara}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosCamara}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>
        <h:panelGroup>
            <h:outputLabel value="Cálculo PASEP" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoPASEP}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosPASEP}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>
        <h:panelGroup>
            <h:outputLabel value="Cálculo Educação" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoEducacao}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosEducacao}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>
        <h:panelGroup>
            <h:outputLabel value="Cálculo Saúde" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoSaude}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosSaude}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Cálculo FUNDEB" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoFUNDEB}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosFUNDEB}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Cálculo INSS" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoINSS}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosINSS}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Cálculo IRRF" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoIRRF}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosIRRF}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Cálculo ISS" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.calculoISS}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.calculosISS}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Pagamento" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.pagamento}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.pagamentos}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Receita Primária" /><br/>
            <p:selectOneMenu value="#{previsaoDeReceitaBean.previsaoDeReceita.receitaPrimaria}" 
                             style="width: 150px" >
                <f:selectItem itemLabel="Selecione" />
                <f:selectItems value="#{previsaoDeReceitaBean.receitasPrimaria}" />
                <f:converter converterId="simpleEntityConverter" />
            </p:selectOneMenu>
        </h:panelGroup>

        <h:panelGroup>
            <h:outputLabel value="Data Inclusão"/><br/>
            <p:calendar id="dataInclusao"
                        maxlength="10"
                        pattern="dd/MM/yyyy"
                        onkeypress="mascara(this, data)"
                        value="#{previsaoDeReceitaBean.previsaoDeReceita.dataInclusao}" 
                        showOn="button" 
                        required="true" 
                        requiredMessage="O campo data inclusão é obrigatório" 
                        size="17"
                        disabled="#{previsaoDeReceitaBean.previsaoDeReceita.
                                    tipoOrcamento.descricao.equals('REVISADO')}"/>
        </h:panelGroup>

    </h:panelGrid>

    <hr/>

    <p:commandButton id="btnGravar" value="Gravar" 
                     actionListener="#{previsaoDeReceitaBean.adicionarEditarFim}"
                     update="formPrevisaoDeReceita" />

    <p:commandButton value="Cancelar" 
                     actionListener="#{previsaoDeReceitaBean.cancelar}"
                     immediate="true"/>

</h:form>


